home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 February: Technology Seed / Mac Tech Seed Feb '97.toast / OpenDoc 1.2b2c1 / OpenDoc / Interfaces / IDL / TrnsfrmB.idl < prev    next >
Encoding:
Text File  |  1997-01-01  |  2.9 KB  |  130 lines  |  [TEXT/MPS ]

  1. //#    Copyright:    © 1993 - 1995 by Apple Computer, Inc., all rights reserved.
  2.  
  3. #ifndef _TRNSFRMB_
  4. #define _TRNSFRMB_
  5.  
  6. #ifndef _REFCTOBJ_
  7. #include "RefCtObj.idl"  
  8. #endif
  9.  
  10. //==============================================================================
  11. // Classes defined in this interface
  12. //==============================================================================
  13.  
  14. interface  ODBaseTransform;
  15.  
  16. //==============================================================================
  17. // Classes used by this interface
  18. //==============================================================================
  19.  
  20. interface ODTransform;
  21. interface ODShape;
  22. interface ODStorageUnit;
  23.  
  24. //==============================================================================
  25. // ODTransform
  26. //==============================================================================
  27.  
  28. interface ODBaseTransform :  ODRefCntObject
  29. {
  30.   //#---------------------------------
  31.   //# factories:
  32.  
  33.     ODTransform        NewTransform();
  34.     ODTransform        Copy();
  35.  
  36.   //#---------------------------------
  37.   //# getters:
  38.  
  39.     ODTransformType    GetType();
  40.     void            GetOffset(out ODPoint offset);
  41.     void            GetPreScaleOffset(out ODPoint offset);
  42.     void            GetScale(out ODPoint scale);
  43.     void            GetMatrix(out ODMatrix matrix);
  44.     ODBoolean        HasMatrix();
  45.  
  46.     ODBoolean        IsSameAs(in ODTransform compareTransform);
  47.  
  48.   //#---------------------------------
  49.   //# setters:
  50.  
  51.     ODTransform        Reset();
  52.     ODTransform        SetMatrix(in ODMatrix matrix);
  53.     ODTransform        CopyFrom(in ODTransform sourceTransform);
  54.   
  55.   //#---------------------------------
  56.   //# geometric operations:
  57.   
  58.     ODTransform        SetOffset(in ODPoint point);
  59.     ODTransform        MoveBy(in ODPoint point);
  60.     ODTransform        ScaleBy( in ODPoint scale);
  61.     ODTransform        ScaleDownBy( in ODPoint scale);
  62.  
  63.     ODTransform        Invert( );
  64.     ODTransform        PreCompose(in ODTransform transform);
  65.     ODTransform        PostCompose(in ODTransform transform);
  66.  
  67.   //#---------------------------------
  68.   //# geometry operations with points & shapes:
  69.  
  70.     void            TransformPoint(inout ODPoint point);
  71.     void            InvertPoint(inout ODPoint point);
  72.   
  73.     void            TransformShape(in ODShape shape);
  74.     void            InvertShape(in ODShape shape);
  75.   
  76.   //#---------------------------------
  77.   //# input / output:
  78.   
  79.     void            WriteTo(in ODStorageUnit storageUnit);
  80.     void            ReadFrom(in ODStorageUnit storageUnit);
  81.  
  82.  
  83. #ifdef __SOMIDL__
  84.     implementation
  85.     {
  86.         override:
  87.             somUninit,
  88.             Purge,
  89.             Release;
  90.             
  91.         releaseorder:
  92.             GetType,
  93.             GetOffset,
  94.             GetPreScaleOffset,
  95.             GetScale,
  96.             GetMatrix,
  97.             HasMatrix,
  98.             IsSameAs,
  99.             Reset,
  100.             SetMatrix,
  101.             Copy,
  102.             CopyFrom,
  103.             SetOffset,
  104.             MoveBy,
  105.             ScaleBy,
  106.             ScaleDownBy,
  107.             Invert,
  108.             PreCompose,
  109.             PostCompose,
  110.             TransformPoint,
  111.             InvertPoint,
  112.             TransformShape,
  113.             InvertShape,
  114.             WriteTo,
  115.             ReadFrom,
  116.             NewTransform,
  117.             reserved1,
  118.             reserved2;
  119.  
  120.         majorversion = 1; minorversion = 0;
  121.                 
  122.         functionprefix = ODBaseTransform__;
  123.         
  124.   };
  125. #endif
  126. };
  127.  
  128. #endif //# _TRNSFRMB_
  129.  
  130.